/**
 * Copyright(C)版权所有 中国电子科技集团公司第三十二研究所
 * @Title: service层接口文件
 * @author: 徐文远
 * @version: 1.0
 * @date: 2020/10/16
 * 备注:无
 * 更改描述：无
 */
package com.cetc32.dh.service;

import com.cetc32.dh.entity.DataSubmit;
import java.util.List;

public interface DataSubmitService {
    /**
     * 提交请求后数据插入操作
     * @param dataSubmit 更新到数库的数据
     * @return 反馈是否成功
     * **/
    public Integer insertDataSubmit(DataSubmit dataSubmit);

    /**
     * 拒绝用户此时数据导入申请
     * @param ds 写入到数库的数据
     * @return 反馈是否成功
     * **/
    public Integer rejectSubmit(DataSubmit ds);

    /**
     * 接受用户此时数据导入申请
     * @param ds 更新到数库的数据
     * @return 反馈是否成功
     * **/
    public Integer acceptSubmit(DataSubmit ds);

    /**
     * 查询当前登陆用户提交的导入申请
     * @param dataSubmit 待查询的数据
     * @return 反馈查询到的结果
     * **/
    public List<DataSubmit> selectMySubmit(DataSubmit dataSubmit);

    /**
     * 查询当前登陆用户的审核过的以及未审核的提交信息
     * @param dataSubmit 待查询的数据
     * @return 反馈查询到的结果
     * **/
    public List<DataSubmit> selectMyApprove(DataSubmit dataSubmit);

    /**
     * 根据当前用户统计所有任务个数
     * @param dataSubmit 通常dataSubmit一次查询只包含submitor。
     * @return 反馈查询到的数据个数
     * */
    Integer countMineSubmit(DataSubmit dataSubmit);

    /**
     * 根据当前用户统计所有任务个数
     * @param dataSubmit 通常dataSubmit一次查询只包含approver。
     * @return 反馈查询到的数据个数
     * */
    Integer countMineApprov(DataSubmit dataSubmit);

    /**
     * 查询当前登陆用户需要审核的提交信息
     * @param dataSubmit 待查询的数据
     * @return 反馈查询到的结果
     * **/
    public List<DataSubmit> selectReadyApprove(DataSubmit dataSubmit);

    /**
     * 根据当前用户统计所有任务个数
     * @param dataSubmit 通常dataSubmit一次查询只包含submitor。
     * @return 反馈查询到的数据个数
     * */
    Integer countReadyApprove(DataSubmit dataSubmit);

    DataSubmit queryById(Integer id);

}
